Latin based languages (e.g., English, German, French, Spanish, and so on) are represented by the combination of a limited set of characters. Because this set is relatively small, most languages have a one-to-one correspondence of a single character in the set to a given key on a keyboard. When it comes to East Asian languages (e.g., Chinese, Japanese, Korean, and so forth) the number of characters in the language can be in the tens of thousands, which makes using a one-to-one character to keyboard key model next to impossible. To allow users to input characters for these languages, several Input Methods (IM) have been devised to create Input Method Editors (IME). An input method editor (IME) is a program or operating system component that allows computer users to enter characters and symbols not found on their keyboard using multiple keystrokes of the keys that are found on their keyboard. For example, the user can use a Western keyboard to input Chinese, Japanese, Korean, and Indic characters using multiple keystrokes. For example, although English contains 26 characters, Mandarin Chinese contains over 10,000 characters. Using only three-character sequences, an English keyboard is capable of representing 17,576 language characters (263), or more if symbol keys and/or longer key sequences are included.
An IME typically runs in conjunction with another application to provide input mapping. For example, a user running a word processing application may run the IME at the same time to input language characters into a document. Often an operating system (e.g., Microsoft Windows) or an application suite (e.g., Microsoft Office) for use with multiple application programs and document types provides the IME.
A reading refers to the mapping of a sequence of keyboard characters to a resulting language character. Many types of readings have been developed and are included with IMEs. For example, a phonetic reading system is commonly used to input Japanese Hiragana and Chinese Pinyin characters. Readings are often incomplete, meaning that some rarely used characters may not have any defined reading. For example, although there are about 70,000 Chinese characters, only 48,000 have defined readings today. It is common for new readings to be created regularly for characters that come into more frequent use, such as by governments or other organizations, that become commonly accepted. New readings may be created as new systems of representing language characters with keyboard characters are discovered. In addition, end users may want to define their own custom or non-standard readings.
Unfortunately, users are stuck with the readings that an application is programmed to understand. Governments and other entities often create new readings that cannot be used with various applications until the next version of the application adds support for the new readings. Applications may not be updated for a long amount of time, if at all. When a reading is not available, users may have to resort to more difficult methods of language character entry, such as selecting the desired language character from a large visual map of characters. This can significantly slow the user's ability to quickly enter language characters in the user's desired language.